function move(ele, target, fn) {
  let count = 0
  for (let k in target) {
    count++
    const timer = setInterval(() => {
      let current
      if (k === 'opacity') {
        current = window.getComputedStyle(ele)[k] * 100
      } else {
        current = parseInt(window.getComputedStyle(ele)[k])
      }
      let distance = (target[k] - current) / 10
      distance = distance > 0 ? Math.ceil(distance) : Math.floor(distance)
      if (current === target[k]) {
        clearInterval(timer)
        count--
        if (count === 0) fn()
      } else {
        if (k === 'opacity') {
          ele.style[k] = (current + distance) / 100
        } else {
          ele.style[k] = current + distance + 'px'
        }
      }
    }, 20)
  }
}
